安装httpd

Centos 安装httpd非常简单,yum安装即可

1
yum instal httpd

配置转发规则示例

在部署Java Web应用时,通常会把应用部署在一个Web容器(如Tomcat),再部署一个HTTP服务器转发请求。

例如部署Tomcat监听8080端口,部署Apache Httpd监听80端口,再转发给tomcat的8080端口。

可以在一台服务器上部署多个应用和配置多个域名,对于访问者来说感觉像访问两个不同的网站一样。
在示例中启动了两个Tomcat实例,分别监听8080和8081端口,部署两个不同的应用。然后将两个域名均指向这台机器的ip,Apache通过访问者使用的域名来执行不同的转发。

httpd的配置文件位于/etc/httpd/conf/httpd.conf,在文件中添加以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com *.example.com
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

<VirtualHost *:80>
ServerName www.example2.com
ServerAlias example2.com *.example2.com
ProxyPass / http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
</VirtualHost>

常见的问题

Centos下apache启动时httpd: apr_sockaddr_info_get() failed报错

解决办法:reference

1
2
3
echo www.example.com > /etc/hostname
/bin/hostname -F /etc/hostname
/etc/init.d/httpd restart